![Hightouchを使ってGoogleスプレッドシートからHubSpotのコンタクトにデータを同期してみた](https://devio2023-media.developers.io/wp-content/uploads/2023/10/suzu_20231025_hightouch.png)
Hightouchを使ってGoogleスプレッドシートからHubSpotのコンタクトにデータを同期してみた
こんにちは、スズです。
Hightouchは、データウェアハウスなどにあるデータをCRMツールなどに同期することができます。GoogleスプレッドシートからHubSpotのコンタクトにデータを同期してみましたので、本記事でご紹介いたします。
SourceにGoogleスプレッドシートを追加する
まずはSourceにGoogleスプレッドシートを追加します。[Sources]の[Add source]をクリックします。
[Google Sheets]をクリックします。
[Log in to Google Sheets]からGoogleアカウントの認証を行います。
認証に成功したら、使用するGoogleスプレッドシートのシートを選択し、[Continue]をクリックします。
接続に成功した旨のメッセージが表示されました。[Continue]をクリックして次に進みます。
Source nameにHightouchの画面上で表示する名前を設定し、[Finish]をクリックします。
これでSourceにGoogleスプレッドシートを設定できました。
DestinationにHubSpotを追加する
続いて出力先となるDestinationにHubSpotを追加していきます。[Destinations]を開き、[Add destination]をクリックします。
[HubSpot]を選択し、[Continue]をクリックします。
Authentication methodで認証方法を選択し、[Log in to HubSpot]をクリックします。今回はAuthentication methodにはOAuthを選択しました。
Hightouchと連携するHubSpotアカウントを選択し、[アカウントを選択]をクリックします。
HightouchからリクエストされるHubSpotのアクセス権が表示されますので内容を確認します。
連携に同意し、[アプリを接続]をクリックします。
Authorization successfulと表示されると認証成功です。[Continue]をクリックして次に進みます。
Destination nameにHightouchに表示される名前を設定し、[Finish]をクリックします。
これでDesitinationにHubSpotの追加ができました。
Modelの作成
SourceのGoogleスプレッドシートのデータをHubSpotに同期するために、Modelを作成します。
Sourceを選択します。今回は、先ほど作成したGoogleスプレッドシートのSourceを選択します。
Googleスプレッドシートのシートを選択して[Continue]をクリックします。Preview resultsをクリックすると、選択したシートのデータのプレビューが表示されます。
なお、今回使用したデータは、この時点でライフサイクルステージの列に「リード」という日本語が入っているデータになっています。同期の際、この「リード」という部分がエラーとなりました。エラーの内容と行った対処については、同期の実行とあわせてご紹介いたします。
Model nameやPrimary keyなどを設定します。Primary keyには一意の識別が行える列を選択します。今回は「ID」という列を用意していますので、「ID」を選択します。[Finish]をクリックして設定を完了します。
これでModelの作成が完了しました。
Syncの作成
最後に、ModelをDestinationに同期するためのSyncを作成します。[Syncs]を開き、[Add sync]をクリックします。
HubSpotに同期するModelを選択します。
Destinationに追加したHubSpotを選択します。
Syncの設定を行います。同期先の設定として、今回の同期先はHubSpotのコンタクトですので、Objectのcontactsを選択します。
HubSpotにレコードをアップデートする方法として、Upsertを選択します。また、GoogleスプレッドシートとHubSpotを同期するために、レコードの一致を参照するフィールドを選択します。今回は、Googleスプレッドシートの「Eメール」とHubSpotの「email」を選択しました。
同期するフィールドを選択します。Googleスプレッドシートの「名前」とHubSpotの「firstname」、Googleスプレッドシートの「ライフサイクルステージ」とHubSpotの「lifecyclestage」を選択しています。設定後、[Continue]をクリックして先に進みます。
同期のスケジュールを設定し、[Fnish]をクリックします。
これでSyncを作成できました。
同期してみた
Source、Destination、Model、Syncと設定して、これで設定は完了しました。早速同期してみます。前項の最後の画面、Syncの画面で[Run sync]をクリックしたところ、エラーとなりました。エラーの内容を確認すると、「リード」という文字列が有効な値ではないということが記述されています。何が有効な値かということも記載されています。「リード」は「lead」とするとよさそうです。
Googleスプレッドシートのデータを修正します。
再度同期を実行したところ、今度は「HEALTHY」と表示され成功しました。
HubSpotのコンタクトを確認すると、Googleスプレッドシートのデータが追加されています。
中身を確認すると、ライフサイクルステージもリードと表示されています。
最後に
Hightouchを使ってGoogleスプレッドシートのデータをHubSpotのコンタクトに追加してみました。